<!DOCTYPE html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/common/includes.jsp"%>

<html>
<head>
<title>生产退料编辑</title>
<!-- import css and js -->
<%@ include file="/common/metaInput.jsp"%>
<script src="${ctx}/js/jsp/comm.js" type="text/javascript"></script>
<script type="text/javascript" src="${ctx}/js/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript" src="${ctx}/js/jsp/yd/logic/ItemStateData.js"></script>
<script type="text/javascript">
	var basic_Url = "${ctx}/yd/logic/materialreturn";
	var addressGrid;
	$(function() {
		var ItemStateList = ItemStateData.Rows;
		$("#inputForm").validate({
			onsubmit : true,
			/*执行ajaxsubmit  */
			submitHandler : function(editform) {
				try {
					url = basic_Url + "/save.do";
					var api = frameElement.api;
					var W = api.opener;

					getReturnMessage(url, "inputForm", W.searchAP);
				} catch (e) {
					alert(e);
				}
			}
		});
		
		if ('${viewflag}' == "add"){
			$("#tr1").hide();
			$("#save1").hide();
			$("#save2").hide();
			$("#excel").hide();
			$("#save3").hide();
		}else if ('${viewflag}' == "tijiao"){
			$("#save").hide();
			$("#save2").hide();
// 			$("#excel").hide();
			$("#save3").hide(); 
            if($("#createrName").val()!="${user.name}"){
    			$("#save1").hide();
    			$("input[type!='hidden']").attr("disabled","disabled");
    			$("select").attr("disabled","disabled");//禁用SELECT标签
    			$("textarea").attr("disabled","disabled");//禁用TEXTAREA标签
               } 
		}else if ('${viewflag}' == "shenpi"){
			$("#save").hide();
			$("#save1").hide();
			$("input[type!='hidden']").attr("disabled","disabled");
			$("select").attr("disabled","disabled");//禁用SELECT标签
			$("textarea").attr("disabled","disabled");//禁用TEXTAREA标签
		}else if ('${viewflag}' == "tongguo"){
			$("#save1").hide();
			$("#save2").hide();
			$("#save3").hide();
			$("#save").hide();
			$("input[type!='hidden']").attr("disabled","disabled");
			$("select").attr("disabled","disabled");//禁用SELECT标签
			$("textarea").attr("disabled","disabled");//禁用TEXTAREA标签
		}
		
		var column1 = [
					{ display: '操作',width: 30,
				    render: function (record, rowindex, value, column) {
				  	  var rc = JSON.stringify(record);
				  	  if(record.openBatch=='Y'){
				  		 return "<a href='javascript:ItemWindow("+rc+","+rowindex+")'><img src='${ctx}/js/ligerUI/skins/icons/add.gif' alt='添加' /></a>";
				  	  }else{
				  		 return "<h1>+</h1>";
				  	  }
					  }}, 
		               { display: 'id', name: 'id',hide:true,width:1},
		               { display: '物料id', name: 'materialsid',hide:true,width:1},
		               { display: '<font color="gray">物料编码</font>', name: 'code', width: 120,
							  render: function (record, rowindex, value, column) {
								  var rc = JSON.stringify(record);
								  if(record.openBatch=='Y'){
									  return "<a href='javascript:ItemWindow("+rc+","+rowindex+")'>"+record.code+"</a>";
								  	  }else{
								  		 return record.code;
								  	  }
							  	  
							  }},
		               { display: '<font color="gray">名称</font>', name: 'name',width: 120},
		               { display: '<font color="gray">型号</font>', name: 'spec' ,width: 270},
		               { display: '<font color="gray">物料是否可用批次</font>', name: 'openBatch' ,hide:true,width: 150, render: function (item, rowindex, value, column)
						    {
		            	   	if(item.openBatch=="Y"){
		            	   		return "可用";
		            	   	}else{
		            	   		return "不可用";
		            	   	}
					   		
				    }},
		               { display: '<font color="gray">基本单位</font>', name: 'junit' ,width: 100},
		               { display: '<font color="gray">基本单位数量</font>', name: 'jquantity',width: 120, render: function (item){ 
		            	   if(item.jquantity == null ||item.jquantity == "" || parseFloat(item.jquantity) == 0){
		                		  return '0.0';
		                	} else {
                          		return item.jquantity;
		                	}
                      }},
// 		               { display: '批次<font color="red">*</font>', name: 'batch' ,width: 120,editor: { type: 'text'}},
		               { display: '状态<font color="red">*</font>', name: 'status', width: 100,editor: { type: 'select', data: ItemStateList, valueColumnName: 'ItemStateID', displayColumnName: 'ItemStateName',
		            	   			ext :
		               					function (rowdata)
		   				                {
		            	   				return {
	   				                        onBeforeOpen: function(){
	   											if("Y"==rowdata.openBatch){
	   												$.dialog.alert("该物料可分批次不能选择等级");
	   												return false;
	   											}
	   				                    	}
		            	   				};
		   				                }}, 
		   				   render: function (item){
		                   for (var i = 0; i < ItemStateList.length; i++)
		                   {
		                       if (ItemStateList[i]['ItemStateID'] == item.status){
		                     	  return ItemStateList[i]['ItemStateName'];
		                       }
		                   }
		                   return item.status;
		               }},
		           	   { display: '单位<font color="red">*</font>', name: 'unit', width: 120,editor : {
		            	 	   type:'selecturl',dataItem:'dataItem',path:'${ctx}/yd/basic/measurementUnit/unitlist.do',valueColumnName: 'unitname', displayColumnName: 'unitname',onChanged:function(record,value,column,rowindex,grid){
// 		            	 		   $.ligerDialog.confirm("修改单位将刷新子数据是否修改?", 
// 			            	 					function (flag) { 
// 			            	 					if(flag){
// 			            	 						addressGrid.updateCell('itemBatch', '', record);
// 			            	 					}
// 			            	 				}); 
		            	 		  addressGrid.updateCell('itemBatch', '', record);
		                       }}, render: function (item)
		                       {
		            	 		  var dataitem = $.parseJSON($("#dataItem").val());
		            	 		  if(dataitem!=null){
		            	 			 for (var i = 0; i < dataitem.length; i++)
		                             {
		                                 if (dataitem[i]['unitname'] == item.unit&&dataitem[i]['materialscode']==item.code){
		                                	 addressGrid.updateCell('unitconvert', dataitem[i]['unitconvert'], item);
		                                	 return dataitem[i]['unitname'];
		                                 } 
		                             }
		            	 		  }
		                           return item.unit;
		                       }},
				        { display: '<font color="gray">单位换算率</font>', name: 'unitconvert',width:80},
		               { display: '退料数量<font color="red">*</font>', name: 'quantity',width: 150
				        	,editor : {type :'float'}, render: function (item, rowindex, value, column)
						    {
			            	   	if(item.openBatch=="Y"){
			            	   		item.quantity=item.val;
			            	   	}else{
			            	   		if(item.quantity!=''&&item.quantity!=null&&item.unitconvert!=null&&item.unitconvert!=''){
			            	   			addressGrid.updateCell('jquantity', item.quantity*item.unitconvert, item);
			            	   		} 
			            	   	}
			            	   		if(item.quantity == null ||item.quantity == "" || parseFloat(item.quantity) == 0){
				                		  return '0.0';
				                	} else {
		                          		return item.quantity;
				                	}
		                       	}
				        	},
				        	{ display: '<font color="gray">值</font>', name: 'val' ,width:1,hide:1},
				        { display: '<font color="gray">批次详细</font>', name: 'itemBatch',hide:true,width: 1}
		                ];
		var column2 = [
                       { display: '操作',width: 30,
					    render: function (record, rowindex, value, column) {
					  	  var rc = JSON.stringify(record);
					  	  if(record.openBatch=='Y'){
					  		 return "<a href='javascript:ItemWindow("+rc+","+rowindex+")'><img src='${ctx}/js/ligerUI/skins/icons/add.gif' alt='添加' /></a>";
					  	  }else{
					  		 return "<h1>+</h1>";
					  	  }
						  }},
		               { display: 'id', name: 'id',hide:true,width:1},
		               { display: '物料id', name: 'materialsid',hide:true,width:1},
		               { display: '<font color="gray">物料编码</font>', name: 'code', width: 120,
							  render: function (record, rowindex, value, column) {
								  var rc = JSON.stringify(record);
								  if(record.openBatch=='Y'){
									  return "<a href='javascript:ItemWindow("+rc+","+rowindex+")'>"+record.code+"</a>";
								  	  }else{
								  		 return record.code;
								  	  }
							  	  
							  }},
                       { display: '<font color="gray">名称</font>', name: 'name',width: 120},
                       { display: '<font color="gray">型号</font>', name: 'spec' ,width: 270},
                       { display: '<font color="gray">基本单位</font>', name: 'junit' ,width: 100},
                       { display: '<font color="gray">基本单位数量</font>', name: 'jquantity',width: 120},
// 		               { display: '批次<font color="red">*</font>', name: 'batch' ,width: 120},
                       { display: '状态<font color="red">*</font>', name: 'status', width: 100, render: function (item){
                           for (var i = 0; i < ItemStateList.length; i++){
                               if (ItemStateList[i]['ItemStateID'] == item.status){
                             	  return ItemStateList[i]['ItemStateName'];
                               }
                           }
                           return item.status;
                       	}
     					},
                       { display: '单位<font color="red">*</font>', name: 'unit' ,width: 120},
		               { display: '<font color="gray">单位换算率</font>', name: 'unitconvert',width:80},
                       { display: '退料数量<font color="red">*</font>', name: 'quantity',width: 150},
                       { display: '<font color="gray">值</font>', name: 'val' ,width:1,hide:1},
                       { display: '<font color="gray">批次详细</font>', name: 'itemBatch',hide:true,width: 1}
		              ];
		var column3 = null;
		if ('${xx}' == 1){
			column3 = column1;
		}else {
			column3 = column2;
		}
        addressGrid = $("#dataGrid1").ligerGrid({
        	columns: column3,
        	enabledEdit : true,
            usePager: true,
			width : '99%',
			pageSize:1000,
			pageSizeOptions:[1000],
			parms:[{ name : 'id' , value : '${mrDO.id}'}],
	        url : basic_Url+"/griditems.do",
			rownumbers : false,
			checkbox : true,
            height : '90%',
		    toolbar : {
		    	items : [{
				    		text : '新增',
				    		disable : true,
				           	click : function() {
				           		if ('${xx}' == 1){
									if($("#whCode").val()==''){
										$.dialog.alert("请先选择退料仓库");
										return false;
									}else{
					           			getDG().dialog({
					           				title:'选择材料',
					           				width : 800,
					           				height : 400,
					           				content: 'url:' + sys_context + '/public/windowalert/itemmanager.do',
					           				lock : true,
					           				max : true,
					           				min : true,
					           				ok: function(){
					           					var rows = this.content.getSelected();
					           					if (rows != null) {
					           						for (var i = 0; i < rows.length;i++){
					           							var row = rows[i];
					           							addressGrid.addRow2({
					           								materialsid : row.id,
					           								code : row.code,
					           								name : row.name,
					           								spec : row.spec,
					           								junit : row.unit,
					           								openBatch : row.remark2
					           							});
					           						}
					           					}
					           					this.content.Close();
					           					return false;
					           				},
					           				cancelVal: '关闭',
					           				cancel: true
					           			}).zindex();
				           			}
				           		}
				           	},
				           	icon: 'add'
				        }, 
				        {
				        	line : true
				        },
				        {
				        	text : '删除',
		           			click : function() {
		           				if ('${xx}' == 1){
		           					addressGrid.deleteSelectedRow();
		           				}
		           			},
		           			img : '${ctx}/js/ligerUI/skins/icons/delete.gif'
		           		}]
		     }
        });
		               
		/* <c:forEach items="${axxJson}" var="row">
			addressGrid.addRow2({
				id : "${row.id}",
				materialsid:"${row.materialsid}",
				code : "${row.code}",
				name : "${row.name}",
				spec : "${row.spec}",
				batch : "${row.batch}",
				junit : "${row.junit}",
				unit : "${row.unit}",
				unitconvert : "${row.unitconvert}",
				status : "${row.status}",
				quantity : "${row.quantity}",
				jquantity : "${row.jquantity}",
				itemBatch:'${row.itemBatch}',
				openBatch : "${row.openBatch}",
       	   		val : "${row.val}"
			});
		</c:forEach> */
	});
	function submitForm(param) {
	 	$("#billStatus").val(param);
	 	$("#whName").val($("#whCode").find("option:selected").text());
	 	$("#addressInfos").val(JSON.stringify($("#dataGrid1").ligerGetGridManager().getData()));
		var data = $("#dataGrid1").ligerGetGridManager().getData();
		if(data.length==0){
			$.dialog.alert("请增加物料信息");
	   	 	return false;
		}
		var ba = true;
		if(data !=null){ 
			for (var i = 0;i < data.length;i++){
				var row = data[i];
// 				if(row.batch==null||row.batch==""){
// 		           	 $.dialog.alert("您第"+(i+1)+"行的“批次”不合法");
// 		           	 ba=false;
// 		           	 return false;
// 		        }
				if(row.openBatch != "Y"){
					if (undefined == row.status || row.status==""
							|| null == row.status) {
						$.dialog.alert("第" + (i+1) + "行的状态没有选择");
						ba = false;
						return false;
					}
				}
				if (undefined == row.unit || row.unit=="" || null == row.unit) {
					$.dialog.alert("第" + (i+1) + "行的单位没有选择");
					ba = false;
					return false;
				}
				if(undefined == row.quantity
						|| isNaN(row.quantity)
						|| row.quantity <= 0){
		           	 $.dialog.alert("您第"+(i+1)+"行的“数量”不合法");
		           	 ba=false;
		           	 return false;
		        }
			}
			
		}
		//设置ajax全局同步
		jQuery.ajaxSettings.async = false;
		if(ba){
			$("#submitFlag").val(param);
			$("#inputForm").submit();
		}
	}
	
	function check(){
		$.ajax({
		      url: "${ctx}/yd/logic/materialreturn/updateState.do",
		      global: false,
		      type: "POST",
		      dataType: "json",
		      data: ({
		    	   rows:$("#id").val()
		      }),		     
		      success: function(msg){
		    	  if(msg.msg=="SUCCESS"){
		    		  $.dialog.alert("驳回成功",function(){close();});
		    	  }
		    	  if(msg.msg=="ERROR"){
		    		  $.dialog.alert("操作失败",function(){close();});
		    	  }
		   }
		});
	}
    
	function exportAP(){
		var id=$("#id").val();
		if(id!=""){
			var path = basic_Url+"/exportExcel.do?id="+id;
	   		window.open(path,"_blank");
		}
		else{
			$.dialog.alert("请先保存再导出");
		}
	}
	
	function close(){
		var api = frameElement.api;
		var W = api.opener;
		CloseDialog();
		W.searchAP();
	}
	
	function ItemWindow(rc,index) {
	 	//alert("rc:"+rc+"明细:"+rc.toSource());
	 	var manager = $("#dataGrid1").ligerGetGridManager();
// 	 	alert("sdsadasd:"+manager.getRow(rc.__index).unit);
	 	if(manager.getRow(rc.__index).unit==null || ""==manager.getRow(rc.__index).unit ||manager.getRow(rc.__index).unit==undefined){
	 		$.dialog.alert("没有填写单位!");
	 	}else{
				getDG().dialog(
						{
							title : '批次管理',
							width : 650,
							height : 350,
							content : 'url:' + sys_context+ '/yd/logic/materialreturn/itemManager.do?data='+encodeURIComponent(JSON.stringify(manager.getRow(rc.__index)))+'&billstatus=${viewflag}',//
							lock : true,
							max : true,
							min : true,
							ok : function() {
								this.content.yz();
								if(this.content.ba){
								var dt = this.content.grid.getData();
								if (dt != null) {
									//alert("dt:"+dt.toSource());
									rc.jquantity=this.content.jnum;
									rc.quantity=this.content.num;
									rc.itemBatch=JSON.stringify(dt);
									addressGrid.updateCell('jquantity', rc.jquantity, manager.getRow(rc.__index));
									addressGrid.updateCell('quantity', rc.quantity, manager.getRow(rc.__index));
									addressGrid.updateCell('itemBatch',rc.itemBatch, manager.getRow(rc.__index));
									addressGrid.updateCell('val',rc.quantity, manager.getRow(rc.__index));
									addressGrid.updateRow(manager.getRow(rc.__index));
											this.content.Close();
									}else{
										this.content.Close();
									}
									
								}
								return false;
							},
							cancelVal : '关闭',
							cancel : true
						}).zindex();
		 	}
		}
</script>

</head>

<body>

	<form id="inputForm" action="" method="post">
		<input type="hidden" id="id" name="id" value="${mrDO.id}" />
		<input type="hidden" id="addressInfos" name="addressInfos"/>
		<input type="hidden" id="dataItem" name="dataItem"/>
		<input type="hidden" id="version" name="version" value="${mrDO.version}"/>
		<input type="hidden" id="billStatus" name="billStatus" value="${mrDO.billStatus}"/>
		<!-- 用于标识提交按钮 -->
		<input type="hidden" id="submitFlag" value="" />
		<div class="pageContent">
			<div class="panel">
				<table class="TableBlock">
					<tr id="tr1">
					 	<td nowrap>单号:</td>
						<td ><input id="mareturnCode" name="mareturnCode" readonly="readonly" class="inp_width_98p" value="${mrDO.mareturnCode}" /></td>
						<td nowrap="nowrap" width="20%">建单时间:</td>
						<td width="30%"><input class="inp_width_98p" type="text" id="dctime" name="dctime"
							value="<fmt:formatDate value="${empty mrDO.dctime?nowDate:mrDO.dctime}" type="both" dateStyle="long" pattern="yyyy-MM-dd" />" readonly="readonly"/></td>
					</tr>
					<tr>
					 	<td nowrap>退料仓库:</td>
						<td><select class="inp_width_98p" id="whCode" name="whCode" onchange="getA()" >
							<option></option>
								<c:forEach items='${wh}' var='state'>
   		                 	<option value='${state.code}'>${state.name}</option>
   		                 	</c:forEach>
							</select>
							<script type="text/javascript">
   		                		 $("#whCode").val('${mrDO.whCode}');
   		                 	</script>
   		             		<input type="hidden" id="whName" name="whName" value="${mrDO.whName }"/>
						</td>
					 	<td nowrap>退料日期:</td>
						<td><input id="tlDate" name="tlDate" class="inp_width_98p required" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" value="<fmt:formatDate value="${mrDO.tlDate}" pattern="yyyy-MM-dd" type="both" />" /></td>					 	
					 		<c:if test="${empty mrDO.tlDate}">
					 			<script>
									var date = new Date();
									$("#tlDate").val(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());
								</script>
							</c:if>
					</tr>
					<tr>
						<td nowrap>退料人:</td>
						<td> 
							<input type="text" id="agent" name="agent" class="inp_width_98p required" value="${user.name}" />
							<c:if test="${mrDO.agent != null}">
								<script>
									$("#agent").val("${mrDO.agent}");
								</script>
							</c:if>
						</td>
						<td nowrap="nowrap">制单人:</td>
						<td >
						    <input type="text" id="createrName" name="createrName" class="inp_width_98p" value="${user.name}" readonly="readonly"/>
							<c:if test="${mrDO.createrName != null}">
								<script>
									$("#createrName").val("${mrDO.createrName}");
								</script>
							</c:if>
					  	</td>
					</tr>
					<tr>
						<td nowrap>退料原因:</td>
						<td colspan="3"><input id="remark" name="remark" type="text" class="inp_width_98p required" value="${mrDO.remark}" /></td>
					</tr>
					<tr>
						<td colspan="4" style="margin-bottom: 10px;"><div
								id="dataGrid1"></div></td>
					</tr>
				</table>
			</div>
			<div class="formBar">
				<ul>
					 <li><div class="buttonActive"><div class="buttonContent"><button type="button" id="save" onclick="submitForm(1)">保存</button></div></div></li>
					 <li><div class="buttonActive"><div class="buttonContent"><button type="button" id="save1" onclick="submitForm(2)">提交</button></div></div></li>
					 <li><div class="button"><div class="buttonContent"><button type="button" id="excel" class="export" onclick="exportAP()">导出</button></div></div> </li>
		        <webres:displaycontroller elementId="LOGIC_MATERIAL_RETURN_SHENPI" description="生产退料单审批">
			       <li><div class="buttonActive"><div class="buttonContent"><button type="button" id="save2" onclick="submitForm(3)">审核通过</button></div></div></li>
			    </webres:displaycontroller>
			    <webres:displaycontroller elementId="LOGIC_MATERIAL_RETURN_BOHUI" description="生产退料单驳回">   
			       <li><div class="buttonActive"><div class="buttonContent"><button type="button" id="save3" onclick="check()">驳回</button></div></div></li>
		       </webres:displaycontroller>
		       <li><div class="button"><div class="buttonContent"><button type="button" class="print" onclick="CloseDialog()">关闭</button></div></div></li>
				</ul>
			</div>
		</div>
	</form>
</body>
</html>
